//
//  YSAlertAction.h
//  YSAlertActionExample
//
//  Created by Kyson on 2018/5/7.
//  Copyright © 2018年 YangShen. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef void(^YSAlertClickBlock)(NSInteger buttonIndex);

/**
 @brief  封装UIAlertView、UIActionSheet、UIAlertController
         根据不同系统版本，对应选择，方便调用
 */
@interface YSAlertAction : NSObject

/**
 模式对话框，选择一项（UIAlertView与与UIAlertController封装，根据不同ios版本对应选择调用方法）
 
 @param title 标题
 @param message 提示内容
 @param cancelButtonTitle 取消按钮标题
 @param buttonIndexBlock 点击事件，返回按钮顺序
 @param otherButtonTitles 其他按钮标题
 */
+ (void)showAlertWithTitle:(NSString *)title
                   message:(NSString *)message
         cancelButtonTitle:(NSString *)cancelButtonTitle
          buttonIndexBlock:(nullable YSAlertClickBlock)buttonIndexBlock
         otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;


/**
 显示UIActionSheet模式对话框，UIActionSheet与UIAlertController封装，根据不同ios版本对应选择调用方法。
 
 @param title 标题
 @param message 提示内容
 @param cancelButtonTitle 取消按钮标题
 @param buttonIndexBlock 点击事件，返回按钮顺序
 @param otherButtonTitles 其他按钮标题
 */
+ (void)showAlertSheetWithTitle:(NSString *)title
                        message:(NSString *)message
              cancelButtonTitle:(NSString *)cancelButtonTitle
               buttonIndexBlock:(nullable YSAlertClickBlock)buttonIndexBlock
              otherButtonTitles:(nullable NSString *)otherButtonTitles, ... NS_REQUIRES_NIL_TERMINATION;

@end
